/*
 * ShoppingCartBalanceResponse.java
 * business
 *
 * Created by ChenTao on 2016/9/9.
 *
 * Copyright (c) 2016年 yidiandao. All rights reserved.
 */

package com.yidiandao.business.data.response;

import com.google.gson.annotations.SerializedName;
import com.yidiandao.business.data.Consignee;
import com.yidiandao.business.data.net.BaseResponse;

import java.util.List;

/**
 * 购物车 结算 Response
 */
public class QueryConfirmOrderDataResponse extends BaseResponse {

    @SerializedName("data")
    private Data data;

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public static class Data {

        @SerializedName("consignee")
        private Consignee consignee;

        // 确认订单商品图片
        @SerializedName("goods_list")
        private List<String> goodsImages;

        @SerializedName("total_fee")
        private TotalFee totalFee;

        // 当前各个店铺的支付列表
        @SerializedName("payment_list")
        private List<String> payWays;

        // 发票抬头
        @SerializedName("inv_title")
        private String invTitle;

        @SerializedName("inv_rate")
        private String invRate;

        // 优惠券数量
        @SerializedName("coupon_count")
        private int couponCount;

        // 优惠券金额
        @SerializedName("coupon_money")
        private float couponMoney;

        // 服务电话
        @SerializedName("service_phone")
        private String servicePhone;

        public int getCouponCount() {
            return couponCount;
        }

        public void setCouponCount(int couponCount) {
            this.couponCount = couponCount;
        }

        public float getCouponMoney() {
            return couponMoney;
        }

        public void setCouponMoney(float couponMoney) {
            this.couponMoney = couponMoney;
        }

        public List<String> getPayWays() {
            return payWays;
        }

        public void setPayWays(List<String> payWays) {
            this.payWays = payWays;
        }

        public String getInvTitle() {
            return invTitle;
        }

        public void setInvTitle(String invTitle) {
            this.invTitle = invTitle;
        }

        public String getInvRate() {
            return invRate;
        }

        public void setInvRate(String invRate) {
            this.invRate = invRate;
        }

        public String getServicePhone() {
            return servicePhone;
        }

        public void setServicePhone(String servicePhone) {
            this.servicePhone = servicePhone;
        }

        public Consignee getConsignee() {
            return consignee;
        }

        public void setConsignee(Consignee consignee) {
            this.consignee = consignee;
        }

        public TotalFee getTotalFee() {
            return totalFee;
        }

        public void setTotalFee(TotalFee totalFee) {
            this.totalFee = totalFee;
        }

        public List<String> getGoodsImages() {
            return goodsImages;
        }

        public void setGoodsImages(List<String> goodsImages) {
            this.goodsImages = goodsImages;
        }
    }

    /**
     * 订单统计信息
     */
    public static class TotalFee {

        // 总价,不包括红包,包括加价购,包括优惠金额
        @SerializedName("goods_total_price")
        private float goodsTotalPrice;

        // 支付手续费
        @SerializedName("pay_fee")
        private float payFee;

        @SerializedName("discount")
        private float discount;

        // 商品数量
        @SerializedName("total_goods_number")
        private int totalGoodsNumber;

        // 运费
        @SerializedName("shipping_fee")
        private float shippingFee;

        // 可用红包个数
        @SerializedName("red_paper_count")
        private int redPacketCount;

        // 红包优惠金额
        @SerializedName("red_paper")
        private float redPacket;

        // 发票费用
        @SerializedName("inv_money")
        private float invMoney;

        // 优惠券金额
        private float coupon;

        public float getCoupon() {
            return coupon;
        }

        public void setCoupon(float coupon) {
            this.coupon = coupon;
        }

        public float getShippingFee() {
            return shippingFee;
        }

        public void setShippingFee(float shippingFee) {
            this.shippingFee = shippingFee;
        }

        public float getInvMoney() {
            return invMoney;
        }

        public void setInvMoney(float invMoney) {
            this.invMoney = invMoney;
        }

        public float getPayFee() {
            return payFee;
        }

        public void setPayFee(float payFee) {
            this.payFee = payFee;
        }

        public int getTotalGoodsNumber() {
            return totalGoodsNumber;
        }

        public void setTotalGoodsNumber(int totalGoodsNumber) {
            this.totalGoodsNumber = totalGoodsNumber;
        }

        public float getGoodsTotalPrice() {
            return goodsTotalPrice;
        }

        public void setGoodsTotalPrice(float goodsTotalPrice) {
            this.goodsTotalPrice = goodsTotalPrice;
        }

        public float getDiscount() {
            return discount;
        }

        public void setDiscount(float discount) {
            this.discount = discount;
        }

        public int getRedPacketCount() {
            return redPacketCount;
        }

        public void setRedPacketCount(int redPacketCount) {
            this.redPacketCount = redPacketCount;
        }

        public float getRedPacket() {
            return redPacket;
        }

        public void setRedPacket(float redPacket) {
            this.redPacket = redPacket;
        }
    }

    /**
     * 发票类型
     */
    public static class InvoiceType {

        // 结算时用的type，内容是中文
        @SerializedName("inv_type")
        private String invType;

        // 开发票的手续费用
        @SerializedName("inv_money")
        private float invMoney;

        // 比较时的type，内容是英文
        @SerializedName("type")
        private String type;

        public String getInvType() {
            return invType;
        }

        public void setInvType(String invType) {
            this.invType = invType;
        }

        public float getInvMoney() {
            return invMoney;
        }

        public void setInvMoney(float invMoney) {
            this.invMoney = invMoney;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }
    }
}
